package com.dj.mingkong.portal.biz.service.system;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dj.mingkong.portal.biz.controller.system.vo.request.UserFansAddVo;
import com.dj.mingkong.portal.biz.controller.system.vo.request.UserFansQueryVo;
import com.dj.mingkong.portal.biz.controller.system.vo.response.UserFansDetailVo;
import com.dj.mingkong.portal.biz.controller.system.vo.response.UserFansVo;

/**
 * 用户粉丝服务接口
 *
 * @author zenglonghui
 * @date: 2022/8/25 11:33
 */
public interface UserFansService {
    /**
     * 用户关注
     *
     * @param addVo {}
     */
    void follow(UserFansAddVo addVo);

    /**
     * 获取关注信息
     *
     * @param followUserId 被关注ID
     * @return UserFansVo
     */
    UserFansDetailVo getUserFans(Long followUserId);

    /**
     * 分页查询我关注的用户列表
     *
     * @param queryVo {}
     * @return UserFansVo
     */
    Page<UserFansVo> pageFollowByVo(UserFansQueryVo queryVo);

    /**
     * 我的粉丝列表
     *
     * @param queryVo {}
     * @return UserFansVo
     */
    Page<UserFansVo> pageByVo(UserFansQueryVo queryVo);

    /**
     * 取消关注
     *
     * @param userFansVo {}
     */
    void cancel(UserFansVo userFansVo);
}
